Next | Prev | Up | Top | Contents | Index
Minimal Interrupt Response Time
To summarize, you can ensure interrupt response time of less than 200 microseconds for one specified device interrupt provided you configure the system as follows:
- The interrupt is directed to a specific CPU, not "sprayed"; and is the highest-priority interrupt received by that CPU.
- The interrupt is handled by an SGI-supplied device driver, or by a device driver from another source that promises negligible processing time.
- That CPU does not receive any other "sprayed" interrupts.
- That CPU is restricted from executing general UNIX processes, isolated from TLB interrupts, and made nonpreemptive--or is managed by the Frame Scheduler.
- Any process you assign to that CPU avoids system calls other than interprocess communication and allocation within an arena.
When these things are done, interrupts are serviced in minimal time.
Tip: If interrupt service time is a critical factor in your design, consider the possibility of using VME programmed I/O to poll for data, instead of using interrupts. It takes at most 4 microseconds to poll a VME bus address (see "PIO Access"). A polling process can be dispatched one or more times per frame by the Frame Scheduler with low overhead.
Next | Prev | Up | Top | Contents | Index